Field
The present invention(s) relate generally to techniques for use in a systems or requirements engineering or undertaking, and more particularly, to computational system techniques for estimating, measuring, monitoring and forecasting information quality, technical uncertainty, engineering effort, and/or productivity for or in the course of a technical information development effort.
Background
Systems engineering (SE) is a comprehensive engineering process for identifying, developing and delivering viable system solutions that meet defined need(s) within the specified cost and schedule constraints. The SE process facilitates the documentation of the technical effort and guides the systems engineer and program management team through the activities necessary for engineering specification, design synthesis and system development. The SE process becomes more difficult as systems become more complex and larger in scale. The successful realization of these systems or systems of systems (SoS) requires the integration of numerous activities and processes that support the technical effort and enable its successful completion. SE is the overarching engineering approach for tailoring and integrating the technical effort in order to design and build the right system the right way.
Requirements engineering is among the most important and difficult activities in systems engineering. Requirements engineering includes all the activities involved in the discovery, definition, development, analysis, verification, validation and management of system requirements that drive and bound the system design and engineering effort. System requirements are formal technical statements that describe the functions, capabilities, characteristics and qualities of the system that are necessary to satisfy the customer or user need(s). The system requirements contain the important technical information that communicates what the system must do and how well it must do it. Many problems in the development of complex systems have been traced to poor requirements engineering or poor requirements. Poor requirements often result in system development problems and are often cited as a primary reason why systems engineering and development efforts fail.
Poor requirements have been linked to requirements volatility and requirements volatility has been identified as a major factor contributing to poor program performance. Current requirements metrics supply only a limited portion of the information necessary to identify, isolate, and resolve problems during system development. Requirements volatility problems extend to many hardware and software industries. Requirements evolve over time during the requirements engineering or information development process but all changes are not equal. The engineering effort may not satisfy user needs or may lead to the wrong system being built if requirements quality is ignored. Requirements quality has the largest potential impact on the success of systems developments.
Major Defense Acquisition Programs (MDAPs) in the Department of Defense (DoD) develop complex systems for the U.S. military. MDAPs have struggled in recent years to meet performance objectives within original cost and schedule estimates, particularly when the technology envelope is pushed, requirements are unstable, or system complexity and engineering effort are underestimated. Quality Function Deployment (QFD) has been practiced in the United States for decades; however QFD practitioners in the commercial sector have also struggled with the development of complex systems. Recent studies suggest requirements volatility and underestimation of engineering effort are major contributing factors to the poor outcomes of complex system development programs. The harsh reality is that customers and users must often choose between lower performance, schedule delay or higher cost after significant program resources are expended, resulting in less successful projects, lower customer satisfaction, and erosion of competitive advantage in the marketplace.
In a recent study of 96 different DoD MDAPs, the Government Accounting Office (GAO) found the average cost growth was $3.1 billion, 42 percent of programs had at least a 25 percent unit cost growth, and the average schedule delay in delivering initial operating capabilities was 22 months. Requirements volatility, underestimation of engineering effort and the lack of early systems engineering were identified as contributing factors to poor program performance. As part of the strategy to address these problems, the DoD implemented major changes to its system acquisition practices in order to place greater emphasis on early systems engineering and more rigorous formal reviews of system progress earlier in the development cycle to reduce the negative impact of requirements volatility and the need for costly redesigns later in the system development effort.
A primary objective of requirements engineering is to identify, define, develop, and formulate information that is necessary to design and build a system that satisfies customer or user needs. Requirements engineering is an iterative process and by definition involves changes and transformation of information that describes the system. Implicit in this requirements transformation process is the transition of information from a state of relatively low quality and high technical uncertainty to a state of high quality and low technical uncertainty that enables the right system to be designed and built with confidence. Recently, there has been considerable interest in new leading indicators and methods for estimating, measuring, monitoring and forecasting requirements trends and the impact of requirements volatility because of the importance of requirements engineering in the SE process and the problems that have traced to poor system requirements. Many existing methods for estimating, measuring, monitoring and forecasting requirements volatility and its impact on engineering effort have major limitations because they measure the quantity of requirements changes only without considering information quality or the degree to which changes, revisions, modifications, additions or deletions impact quality relative to a well-defined desired end state. New systems engineering methods are needed to improve the outcomes of complex system development programs, particularly as development schedules compress and legacy systems become obsolete more quickly due to the rapid pace of technology advancement.